<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Email Class : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker_th.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>คู่มือการใช้งาน CodeIgniter เวอร์ชั่น 1.7.2</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">หน้าตารางเนื้อหา</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.in.th/">CodeIgniter.in.th</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a> &nbsp;&#8250;&nbsp;
Email Class
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.in.th/user_guide/" />ค้นหาคู่มือการใช้งาน&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="ค้นหา" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Email Class</h1>

<p>คลาสอีเมล์ที่ตรงไปตรงมาของ CodeIgniter มีสิ่งสำคัญที่สนับสนุนดังนี้</p>


<ul>
<li>หลายโปรโตคอล Mail, Sendmail, และ SMTP</li>
<li>หลายผู้รับ</li>
<li>CC และ BCC ได้หลายคน</li>
<li>อีเมล์แบบ HTML หรือข้อความธรรมดา</li>
<li>แนบไฟล์ได้</li>
<li>ห่อคำให้อยู่ในขนาดที่กำหนด</li>
<li>ลำดับความสำคัญได้</li>
<li>BCC แบบโหมดกลุ่ม, สามารถรับรายชื่ออีเมล์จำนวนมากไดโดยแยกเป็น BCC กลุ่มเล็กๆ</li>
<li>เครื่องมือแก้ไขจุดบกพร่องอีเมล์</li>
</ul>


<h2>ส่งอีเมล์</h2>

<p>ส่งอีเมล์ไม่ใช่จะเป็นเรื่องง่ายเท่านั้น แต่คุณสามารถปรับแต่งมันได้ทันทีหรือตั้งค่ามันไว้ในไฟล์ปรับแต่งก็ได้</p>

<p>นี้คือตัวอย่างพื้นฐาน ว่าเราจะส่งอีเมล์ได้อย่างไร  ข้อสังเกตุ:  ตัวอย่างนี้สมมุติว่าคุณกำลังส่งอีเมล์จากหนึ่งใน<a href="../general/controllers.html">ตัวควบคุม</a></p>

<code>$this->load->library('email');<br />
<br />
$this->email->from('your@example.com', 'Your Name');<br />	
$this->email->to('someone@example.com'); <br />
$this->email->cc('another@another-example.com'); <br />
$this->email->bcc('them@their-example.com'); <br />
<br />
$this->email->subject('Email Test');<br />
$this->email->message('Testing the email class.');	<br />
<br />
$this->email->send();<br />
<br />
echo $this->email->print_debugger();</code>




<h2>ปรับแต่งอีเมล์ตามใจชอบ</h2>

<p>มีสิ่งที่สามารถปรับแต่งกว่า 17 อย่างที่จะปรับแจ่งข้อความอีเมล์ที่คุณจะส่ง คุณสามารถตั้งค่ามันเองอย่างตัวอย่างข้างล่างนี้ หรือทำให้มันโหลดอย่างอัตโนมัติโดยการปรับแต่งที่ไฟล์ปรับแต่งซึ่งมีอธิบายอยู่ด้านล่าง</p>

<p>การตั้งค่าปรับแต่งสามารถถูกส่งเป็นอาเรย์ของการปรับแต่งไปได้ผ่านฟังก์ชัน <dfn>initialize</dfn> นี้คือตัวอย่างวิธีตั้งค่าปรับแต่ง</p>

<code>$config['protocol'] = 'sendmail';<br />
$config['mailpath'] = '/usr/sbin/sendmail';<br />
$config['charset'] = 'iso-8859-1';<br />
$config['wordwrap'] = TRUE;<br />
<br />
$this->email->initialize($config);</code>

<p><strong>ข้อสังเกตุ:</strong> ค่าปรับแต่งส่วนใหญ่มีค่าเลือกอัตโนมัติ ที่จะถูกใช้ถ้าคุณไม่ได้ตั้งค่ามัน</p

>
<h3>ปรังแต่งตั้งค่าอีเมล์ในไฟล์ปรับแต่ง</h3>

<p>ถ้าคุณไม่พอใจที่จะตั้งค่าแบบด้านบน คุณสามารถนำการปรับแต่งนั้นใส่ลงไปในไฟล์ปรับแต่งแทนได้
โดยวิธีง่ายๆแค่เพียงสร้างไฟล์ชื่อ <var>email.php</var>  และเพิ่มอาเรย์ <var>$config</var>
ไปในไฟล์นั้น จากนั้นบันทึกไฟล์นั้นไปที่ <var>config/email.php</var> และมันจะถูกใช้อย่างอัตโนมัติ โดยคราวนี้คุณไม่จำเป็นต้องใช้ฟังก์ชัน <dfn>$this->email->initialize()</dfn> ถ้าคุณบันทึกการปรับแต่งไว้ในไฟล์ปรับแต่งแล้ว</p>




<h2>ค่าปรับแต่งอีเมล์</h2>

<p>รายการต่อไปนี้คือค่าปรับแต่งเวลาจะส่งอีเมล์</p>


<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">
<tr>
<th>Preference</th>
<th>Default&nbsp;Value</th>
<th>Options</th>
<th>Description</th>
</tr><tr>
<td class="td"><strong>useragent</strong></td><td class="td">CodeIgniter</td><td class="td">None</td>
<td class="td">"user agent"</td>
</tr><tr>
<td class="td"><strong>protocol</strong></td><td class="td">mail</td><td class="td">mail, sendmail, or smtp</td>
<td class="td">โปรโตคอลที่จดหมายจะส่ง</td>
</tr><tr>
<td class="td"><strong>mailpath</strong></td><td class="td">/usr/sbin/sendmail</td><td class="td">None</td>
<td class="td">ตำแหน่งเซิร์ฟเวอร์ที่จะเอาไว้ส่งจดหมาย</td>
</tr><tr>
<td class="td"><strong>smtp_host</strong></td><td class="td">No Default</td><td class="td">None</td>
<td class="td">SMTP Server Address</td>
</tr><tr>
<td class="td"><strong>smtp_user</strong></td><td class="td">No Default</td><td class="td">None</td>
<td class="td">SMTP Username</td>
</tr><tr>
<td class="td"><strong>smtp_pass</strong></td><td class="td">No Default</td><td class="td">None</td>
<td class="td">SMTP Password</td>
</tr><tr>
<td class="td"><strong>smtp_port</strong></td><td class="td">25</td><td class="td">None</td>
<td class="td">SMTP Port</td>
</tr><tr>
<td class="td"><strong>smtp_timeout</strong></td><td class="td">5</td><td class="td">None</td>
<td class="td">SMTP Timeout (โดยเวลาเป็นวินาที)</td>
</tr><tr>
<td class="td"><strong>wordwrap</strong></td><td class="td">TRUE</td><td class="td">TRUE or FALSE (boolean)</td>
<td class="td">ยอมให้มีการย่อคำ</td>
</tr><tr>
<td class="td"><strong>wrapchars</strong></td><td class="td">76</td><td class="td"> </td>
<td class="td">ตัวอักษรจะถูกย่อที่ตำแหน่ง</td>
</tr><tr>
<td class="td"><strong>mailtype</strong></td><td class="td">text</td><td class="td">text or html</td>
<td class="td">ประเภทของจดหมาย ถ้าคุณส่งอีเมล์แบบ HTML คุณต้องส่งมันเป็นแบบหน้าเว็บโดยสมบูรณ์ (มี html head body พร้อม)  และให้แน่ใจว่าคุณไม่มีลิงค์หรือรูปภาพแบบอ้างอิงตำแหน่งสัมพันธ์ ไม่เช่นนั้นมันจะไม่ทำงาน</td>
</tr><tr>
<td class="td"><strong>charset</strong></td><td class="td">utf-8</td><td class="td"></td>
<td class="td">Character set (utf-8, iso-8859-1, etc.)</td>
</tr><tr>
<td class="td"><strong>validate</strong></td><td class="td">FALSE</td><td class="td">TRUE or FALSE  (boolean)</td>
<td class="td">ตรวขสอบว่าที่อยู่อีเมล์ถูกต้องหรือไม่</td>
</tr><tr>
<td class="td"><strong>priority</strong></td><td class="td">3</td><td class="td">1, 2, 3, 4, 5</td>
<td class="td">ความสำคัญของอีมเล์ 1 = สูงสุด  5 = ตำสุด  3 = ปกติ</td>
</tr>
<tr>
	<td class="td"><strong>crlf</strong></td>
	<td class="td">\n</td>
	<td class="td">&quot;\r\n&quot; or &quot;\n&quot; or &quot;\r&quot;</td>
	<td class="td">ตัวอักษรขึ้นบรรทัดใหม่ (ใช้ &quot;\r\n&quot; เพื่อเชื่อฟังตามมาตรฐาน RFC 822)</td>
</tr>
<tr>
<td class="td"><strong>newline</strong></td><td class="td">\n</td>
<td class="td">"\r\n" or "\n" or &quot;\r&quot;</td>
<td class="td">ตัวอักษรขึ้นบรรทัดใหม่ (ใช้ "\r\n" เพื่อเชื่อฟังตามมาตรฐาน RFC 822)</td>
</tr><tr>
<td class="td"><strong>bcc_batch_mode</strong></td><td class="td">FALSE</td><td class="td">TRUE or FALSE (boolean)</td>
<td class="td">เปิด/ปิดโหมด BCC แบบกลุ่ม</td>
</tr><tr>
<td class="td"><strong>bcc_batch_size</strong></td><td class="td">200</td><td class="td">None</td>
<td class="td">จำนวนอีเมล์ที่จะอยู่ในแต่ละกลุ่มของ BCC</td>
</tr>
</table>


<h2>เอกสารอ้างอิงฟังก์ชันอีเมล์</h2>

<h3>$this->email->from()</h3>
<p>ตั้งชื่อและที่อยู่อีเมล์ของคนที่กำลังจะส่งอีเมล์</p>
<code>$this->email->from('<var>you@example.com</var>', '<var>Your Name</var>');</code>

<h3>$this->email->reply_to()</h3>
<p>ตั้งค่าที่อยู่ตอบกลับ  ถ้าไม่มีข้อมูลคนที่ตอบกลับจะใช้ฟังก์ชัน "from" แทนตัวอย่างเช่น</p>
<code>$this->email->reply_to('<var>you@example.com</var>', '<var>Your Name</var>');</code>


<h3>$this->email->to()</h3>
<p>ตั้งค่าที่อยู่อีเมล์หรือหลายอีเมล์ของผู้รับ  โดยสามารถเป็นอีเมล์เดียวหรือรายชื่อกลุ่มที่ถูกคั่นด้วย comma (,) หรืออาเรย์</p>

<code>$this->email->to('<var>someone@example.com</var>');</code>
<code>$this->email->to('<var>one@example.com</var>, <var>two@example.com</var>, <var>three@example.com</var>');</code>

<code>$list = array('<var>one@example.com</var>', '<var>two@example.com</var>', '<var>three@example.com</var>');<br />
<br />
$this->email->to(<var>$list</var>);</code>

<h3>$this->email->cc()</h3>
<p>ตั้งค่าที่อยู่อีเมล์ CC เหมือนอย่างฟังก์ชัน "to" สามารถเป็นอีเมล์เดียวหรือรายชื่อกลุ่มที่ถูกคั่นด้วย comma (,) หรืออาเรย</p>

<h3>$this->email->bcc()</h3>
<p>ตั้งค่าที่อยู่อีเมล์ BCC เหมือนอย่างฟังก์ชัน &quot;to&quot; สามารถเป็นอีเมล์เดียวหรือรายชื่อกลุ่มที่ถูกคั่นด้วย comma (,) หรืออาเรย</p>


<h3>$this->email->subject()</h3>
<p>ตั้งค่าหัวข้ออีเมล์</p>
<code>$this->email->subject('<var>This is my subject</var>');</code>

<h3>$this->email->message()</h3>
<p>ตั้งค่าข้อความอีเมล์</p>
<code>$this->email->message('<var>This is my message</var>');</code>

<h3>$this->email->set_alt_message()</h3>
<p>ตั้งค่าอีกทางเลือกของข้อความอีเมล์</p>
<code>$this->email->set_alt_message('<var>This is the alternative message</var>');</code>

<p>นี้เป็นข้อความทางเลือกถ้าคุณส่งอีเมล์แบบ HTML มันยอมคุณกำหนดทางเลือกของข้อความที่ไม่มีการจัดรูปแบบของ HTML ซึ่งจะถูกเพิ่มเข้าไปในสตริงส่วนหัวสำหรับคนที่ไม่ยอมรับอีเมล์แบบ HTML ถ้าคุณไม่ตั้งค่าข้อความด้วยตัวคุณเอง CodeIgniter จะคัดลอกข้อความ HTML ของคุณและถอดแท็กออกทั้งหมด</p>



<h3>$this->email->clear()</h3>
<p>เริ่มต้นค่าต่างๆของอีเมล์ให้อยู่ในสถานะว่าง  เจตนาของฟังก์ชั้นนี้คือสำหรับใช้ถ้าคุณสงอีเมล์โดยอยู่ลูป ซึ่งอนุญาตให้คุณล้างข้อมูลระหว่างวนลูปได้</p>
<code>foreach ($list as $name => $address)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->email->clear();<br /><br />
	
&nbsp;&nbsp;&nbsp;&nbsp;$this->email->to($address);<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->email->from('your@example.com');<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->email->subject('Here is your info '.$name);<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->email->message('Hi '.$name.' Here is the info you requested.');<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->email->send();<br />
}</code>

<p>ถ้าคุณตั้งค่าพารามิเตอร์เป็น TRUE ไฟล์แนบทั้งหมดก็จะถูกล้างออกหมดเช่นกัน</p>

<code>$this->email->clear(TRUE);</code>


<h3>$this->email->send()</h3>
<p>ฟังก์ชันส่งเมล์ คืนค่าเป็นตรรกะ TRUE หรือ FALSE ขึ้นอยู่กับการส่งสำเร็จหรือผิดพลาด สามารถใช้มันอยู่ในเงื่อนไขได้</p>

<code>if ( ! $this->email->send())<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;// ใส่ข้อผิดพลาด<br />
}</code>


<h3>$this->email->attach()</h3>
<p>ยอมให้คุณใส่ไฟล์แนบ โดยใส่ตำแหน่ง/ชื่อไฟลในพารามิเตอร์แรก ข้อสังเกตุ: ให้ใช้ตำแหน่งไฟล์, ไม่ใช่ URL
สำหรับการใส่หลายไฟล์แนบให้ใช้ฟังก์ชันนี้หลายครั้ง ตัวอย่างเช่น</p>

<code>$this->email->attach('/path/to/photo1.jpg');<br />
$this->email->attach('/path/to/photo2.jpg');<br />
$this->email->attach('/path/to/photo3.jpg');<br />
<br />
$this->email->send();</code>


<h3>$this->email->print_debugger()</h3>
<p>คืนค่าเป็นสตริงที่มีข้อความจากฝั่งเซิร์ฟเวอร์ ทั้งหัวอีเมล์และข้อความอีเมล์  เป็นประโยชน์สำหรับทำการแก้ไขข้อผิดพลาด</p>


<h2>ยกเลิกการย่อคำ</h2>

<p>ถ้าคุณใช้การย่อคำ (ซึ่งถูกแนะนำให้ทำตามมาตรฐาน RFC 822) และคุณมีลิงค์ที่ยาวมากในอีเมล์ ซึ่งมันจะถูกย่อด้วยเหมือนกัน ซึ่งทำให้ไม่สามารถถูกคลิกได้จากคนที่รับอีเมล์  CodeIgniter ยังยอมให้คุณยกเลิกการย่อคำได้ในส่วนของข้อความอย่างตัวอย่างนี้</p>

<code>The text of your email that<br />
gets wrapped normally.<br />
<br />
<var>{unwrap}</var>http://example.com/a_long_link_that_should_not_be_wrapped.html<var>{/unwrap}</var><br />
<br />
More text that will be<br />
wrapped normally.</code>

<p>ใส่ข้อความที่คุณไม่ต้องการให้ถูกย่อคำไประหว่าง <var>{unwrap}</var> <var>{/unwrap}</var></p>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
หัวข้ออันก่อน:&nbsp;&nbsp;<a href="database/index.html">Database Class</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">บนสุดของหน้า</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
หัวข้อถัดไป:&nbsp;&nbsp;<a href="encryption.html">Encryption Class</a>
</p>
<p>คู่มือการใช้งาน CodeIgniter นี้ได้ทำการคัดลอกและดัดแปลงจาก <a href="http://codeigniter.com/user_guide/">CodeIgniter User Guide</a></p><p>
<a href="http://codeigniter.com">CodeIgniter</a>
 ·  Copyright © 2006-2009  · 
<a href="http://ellislab.com/">Ellislab, Inc.</a>
</p>
</div>

</body>
</html>